535 research outputs found
Polyhedra to the rescue of array interpolants
International audienceWe propose a new approach to the automated verification of the correctness of programs handling arrays. An abstract interpreter supplies auxiliary numeric invariants to an interpolation-based refinement procedure suited to array programs. Experiments show that this combination approach, implemented in an enhanced version of the Booster software model-checker, performs better than the pure interpolation-based approach, at no additional cost
An SMT-based verification framework for software systems handling arrays
Recent advances in the areas of automated reasoning and first-order theorem proving paved the way to the developing of effective tools for the rigorous formal analysis of computer systems. Nowadays many formal verification frameworks are built over highly engineered tools (SMT-solvers) implementing decision procedures for quantifier- free fragments of theories of interest for (dis)proving properties of software or hardware products. The goal of this thesis is to go beyond the quantifier-free case and enable sound and effective solutions for the analysis of software systems requiring the usage of quantifiers. This is the case, for example, of software systems handling array variables, since meaningful properties about arrays (e.g., "the array is sorted") can be expressed only by exploiting quantification. The first contribution of this thesis is the definition of a new Lazy Abstraction with Interpolants framework in which arrays can be handled in a natural manner. We identify a fragment of the theory of arrays admitting quantifier-free interpolation and provide an effective quantifier-free interpolation algorithm. The combination of this result with an important preprocessing technique allows the generation of the required quantified formulae. Second, we prove that accelerations, i.e., transitive closures, of an interesting class of relations over arrays are definable in the theory of arrays via Exists-Forall-first order formulae. We further show that the theoretical importance of this result has a practical relevance: Once the (problematic) nested quantifiers are suitably handled, acceleration offers a precise (not over-approximated) alternative to abstraction solutions. Third, we present new decision procedures for quantified fragments of the theories of arrays. Our decision procedures are fully declarative, parametric in the theories describing the structure of the indexes and the elements of the arrays and orthogonal with respect to known results. Fourth, by leveraging our new results on acceleration and decision procedures, we show that the problem of checking the safety of an important class of programs with arrays is fully decidable. The thesis presents along with theoretical results practical engineering strategies for the effective implementation of a framework combining the aforementioned results: The declarative nature of our contributions allows for the definition of an integrated framework able to effectively check the safety of programs handling array variables while overcoming the individual limitations of the presented techniques
IMPROVING FOOD QUALITY FOR THE ORGANIC POULTRY MEAT SECTOR: A QUALITY FUNCTION DEPLOYMENT APPROACH
The paper presents results from an Italian study on the development of the food quality for poultry meat into the organic sector, using the Quality Function Deployment (QFD) technique. Results show that among the visual characteristics of poultry meat consumers assign greater importance to attributes strictly related to the animal welfare issue. Price and product appearance (colour and fat presence) come as second. To meet these needs, producers can effectively operate along the supply chain by acting on: housing type, genotype lines and stocking density (animal concentration/mq). Information about these issues (labelling) should also be provided to the consumers
Quality function deployment in the organic animal food sector: application to poultry meat
none3This study presents the results of an Italian investigation into the development of food quality for poultry meat in the organic sector, using the quality function deployment technique. The results show that among the characteristics of poultry, meat consumers assign greater importance to those that are strictly related to animal welfare issues. Price and product appearance (i.e., colour, presence of fat) come in second. To meet these needs, producers can effectively operate along the supply chain by acting on poultry housing type, genotype lines, and stocking density. Information about these issues should then be shared with the consumers (i.e., clear product labelling).Naspetti, Simona; Alberti, Francesca; Solfanelli, FrancescoNaspetti, Simona; Alberti, Francesca; Solfanelli, Francesc
Monotonic Abstraction Techniques: from Parametric to Software Model Checking
Monotonic abstraction is a technique introduced in model checking
parameterized distributed systems in order to cope with transitions containing
global conditions within guards. The technique has been re-interpreted in a
declarative setting in previous papers of ours and applied to the verification
of fault tolerant systems under the so-called "stopping failures" model. The
declarative reinterpretation consists in logical techniques (quantifier
relativizations and, especially, quantifier instantiations) making sense in a
broader context. In fact, we recently showed that such techniques can
over-approximate array accelerations, so that they can be employed as a
meaningful (and practically effective) component of CEGAR loops in software
model checking too.Comment: In Proceedings MOD* 2014, arXiv:1411.345
Abstraction and Acceleration in SMT-based Model-Checking for Array Programs
Abstraction (in its various forms) is a powerful established technique in
model-checking; still, when unbounded data-structures are concerned, it cannot
always cope with divergence phenomena in a satisfactory way. Acceleration is an
approach which is widely used to avoid divergence, but it has been applied
mostly to integer programs. This paper addresses the problem of accelerating
transition relations for unbounded arrays with the ultimate goal of avoiding
divergence during reachability analysis of abstract programs. For this, we
first design a format to compute accelerations in this domain; then we show how
to adapt the so-called 'monotonic abstraction' technique to efficiently handle
complex formulas with nested quantifiers generated by the acceleration
preprocessing. Notably, our technique can be easily plugged-in into
abstraction/refinement loops, and strongly contributes to avoid divergence:
experiments conducted with the MCMT model checker attest the effectiveness of
our approach on programs with unbounded arrays, where acceleration and
abstraction/refinement technologies fail if applied alone.Comment: Published in the proceedings of the 9th International Symposium on
Frontiers of Combining Systems (FroCoS) with the title "Definability of
Accelerated Relations in a Theory of Arrays and its Applications" (available
at http://www.springerlink.com
- …